package com.longcai.service.property;

import com.baomidou.mybatisplus.extension.service.IService;
import com.longcai.advice.RollBackExecption;
import com.longcai.bean.ApiResult;
import com.longcai.entity.customer.ClyjUserProperty;
import com.longcai.vo.ClyjGoodsOrderDetailsVo;

import java.math.BigDecimal;

/**
 * <p>
 * 用户资产表 服务类
 * </p>
 *
 * @author M
 * @since 2019-03-21
 */
public interface ClyjUserPropertyService extends IService<ClyjUserProperty> {

    /****
     * 查询用户资产
     * @return ：用户资产表
     */
    public ClyjUserProperty queryUserProperty(String userId);

    /****
     * 资金变动（红包，零钱，积分）
     * @param userId    :用户id
     * @param value        :值（零钱，红包，积分,余额）
     * @param expenses    :开支（0收入 1支出）
     * @param source    ：来源途径
     * @param assetType    ：资产类型(0 零钱 1红包 2积分3余额)
     * @param tradeNo    ： 交易流水号(对于支出类型，涉及交易，有流水号，可存)
     * @param freeze    : 冻结字段（0.冻结， 1.不冻结）
     * @return
     * @throws RollBackExecption 
     */
    public ApiResult<?> changeFinance(String userId, BigDecimal value, String expenses, String source, String assetType, String tradeNo, String freeze, String cardNo) throws RollBackExecption;

    /**
     * 解冻
     *
     * @return ：解冻
     */
    public ApiResult<?> thaw(ClyjGoodsOrderDetailsVo clyjGoodsOrderDetailsVo);

}
